var ds;
var grid;
var insertForm;
var updateForm;
var form;
var win;
Ext.onReady(function() {
			var arr = window.location.href.split('&');

			if (arr.length < 5) {
				dateFrom = "";
				dateTo = "";
				ssign = "";
				spec = "";
				plate = "";
			} else {
				spec = arr[0].split('=')[1];
				ssign = arr[1].split('=')[1];
				plate = arr[2].split('=')[1];
				dateFrom = arr[3].split('=')[1];
				dateTo = arr[4].split('=')[1];
			}
			initData();

		});
var modify = new Ext.data.Record.create([{
			name : 'amount'
		}, {
			name : 'dateFrom'
		}, {
			name : 'dateTo'
		}, {
			name : 'sortType'
		}]);
var sortRec = new Ext.data.Record.create([{
			name : 'sortType'
		}, {
			name : 'zh_sort'
		}]);
var sortStore;
function initSortStore() {
	var sortStore = new Ext.data.SimpleStore({
				fields : ['sortType', 'zh_sort'],
				data : [['yuanzhu', "圆柱"], ['fangkuai', "方块"], ['others', "其他"]]
			});
	return sortStore;
};
var spec, ssign, plate, dateFrom, dateTo;
function initData() {
	ds = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
							url : '../orderInput.do?action=list'
						}),

				reader : new Ext.data.JsonReader({
							totalProperty : 'totalProperty',
							root : 'root'
						}, [{
									name : 'ssign'
								}, {
									name : 'spec'
								}, {
									name : 'plate'
								}, {
									name : 'ordernum'
								}, {
									name : 'ordercost'
								}, {
									name : 'custid'
								}, {
									name : 'transnum'
								}, {
									name : 'delvnum'
								}, {
									name : 'date1'
								}])
			});

	ds.load({
				params : {
					dateFrom : dateFrom,
					dateTo : dateTo,
					ssign : ssign,
					spec : spec,
					plate : plate,
					start : 0,
					isNew : true,
					limit : 10
				}
			});
	initGrid();
}
function getUpdateForm() {
	sortStore = initSortStore();
	if (!updateForm) {
		updateForm = new Ext.FormPanel({
					labelWidth : 75,
					url : 'orderInput.do?action=jump',
					frame : true,
					bodyStyle : 'padding:5px 5px 0',
					width : 340,
					defaults : {
						width : 230
					},
					defaultType : 'textfield',
					items : [{
								fieldLabel : '牌号',// 一开始漏了个主id,导致update不成功
								name : 'ssign',
								allowBlank : false
							}, {
								fieldLabel : '规格',// 一开始漏了个主id,导致update不成功
								name : 'spec',
								allowBlank : false
							}, {
								fieldLabel : '镀层',// 一开始漏了个主id,导致update不成功
								name : 'plate',
								allowBlank : false
							}, {
								xtype : 'datefield',
								format : 'Y-m-d',
								fieldLabel : '发货起始日期',
								name : 'dateFrom',

								anchor : '90%'
							}, {
								xtype : 'datefield',
								format : 'Y-m-d',
								fieldLabel : '发货截止日期',
								name : 'dateTo',

								anchor : '90%'
							}]
				});
	}
	return updateForm;
}// 构造了一个更新的界面。

function initGrid() {
	Ext.QuickTips.init();

	var xg = Ext.grid;
	/**/
	if (!form)
		form = getUpdateForm();
	/* win */
	if (!win) {
		win = new Ext.Window({
					layout : 'column',
					width : 355,
					autoHeight : true, // 4601782
					closeAction : 'hide',
					plain : true,
					items : form,
					modal : false,// 如果这个属性不设，弹出窗口会增加20M内存使用。
					buttons : [{
								text : '查询',
								handler : function() {
									if (form.getForm().isValid()) {
										win.hide();
										grid.destroy();
										/* 赋值 */
										dateFrom = form.getForm().getValues().dateFrom;
										dateTo = form.getForm().getValues().dateTo;
										ssign = form.getForm().getValues().ssign;
										spec = form.getForm().getValues().spec;
										plate = form.getForm().getValues().plate;
										initData();

									} else {
										Ext.MessageBox.alert('提示', '请正确填写数据！');
									}
								}
							}, {
								text : '清空',
								handler : function() {
									form.getForm().reset();
								}
							}, {
								text : '关闭',
								handler : function() {
									form.getForm().reset();
									win.hide();
								}
							}]
				});
	}
	// ////////////////////////////////////////////////////////////////////////////////
	// Grid
	// //////////////////////////////////////////////////////////////////////////////////////
	var sm = new xg.CheckboxSelectionModel();
	grid = new xg.GridPanel({
		id : 'button-grid',
		autoScoll : true,
		ds : ds,
		cm : new xg.ColumnModel([sm, {
					header : "发货编号",
					// width : 50,
					sortable : true,
					dataIndex : 'delvnum'
				}, {
					header : "客户编号",
					// width : 50,
					sortable : true,
					dataIndex : 'custid'
				}, {
					header : "订单编号",
					// width : 50,
					sortable : true,
					dataIndex : 'transnum'
				}, {
					header : "牌号",
					// width : 40,
					sortable : true,
					dataIndex : 'ssign'
				}, {
					header : "规格",
					// width : 50,
					sortable : true,
					dataIndex : 'spec'
				}, {
					header : "镀层",
					// width : 50,
					sortable : true,
					dataIndex : 'plate'
				}, {
					header : "发货数量",
					// width : 50,
					sortable : true,
					dataIndex : 'ordernum'
				}, {
					header : "总价",
					// width : 50,
					sortable : true,
					dataIndex : 'ordercost'
				}, {
					header : "发货日期",
					// width : 50,
					sortable : true,
					dataIndex : 'date1'
				}]),
		sm : sm,
		stripeRows : true,

		viewConfig : {
			forceFit : true
		},

		// inline toolbars
		tbar : [{
					text : '重新输入',
					tooltip : '重新设置发货单号和订单号',
					iconCls : 'add',
					onClick : function() {
						form.hide();
						form = getUpdateForm();
						form.show();
						var items = new Ext.util.MixedCollection();
						items.add("form", form);
						win.width = 355, win.items = items;
						// win.title = "报价单信息";
						win.show(this);
						form.getForm().reset();

					}
				}, '-', {
					text : '进行结算',
					tooltip : '对选定的订单号进行结算',
					iconCls : 'option',
					onClick : function() {
						if (sm.getCount() == 1) {
							var id,id2;
							dwr.engine.setAsync(false);
							var osm=createDefaultOSM();
							osm["ssign"]=sm.getSelections()[0].data["ssign"];
							osm["spec"]=sm.getSelections()[0].data["spec"];
							osm["plate"]=sm.getSelections()[0].data["plate"];
							osm["transnum"]=sm.getSelections()[0].data["transnum"];
							osm["ordernum"]=ds.sum("ordernum");
							osm["date1"]=Date.parseDate(sm.getSelections()[0].data["date1"],'Y-m-d');
							osm["ordercost"]=sm.getSelections()[0].data["ordercost"];
							orderSumMain.createOrderSumMain(osm,function(ret){
								if(ret!=0)
									id2=ret;
							})
							osm["type"]=1;
							orderSumMain.createOrderSumMain(osm,function(ret){
								if(ret!=0)
									id=ret;
							})
							
							
							dwr.engine.setAsync(true);
							window.location.href="orderCaiLiaoIndex.jsp?id="+id+"&id2="+id2;
						} else {
							Ext.MessageBox.alert('提示', '请选择一条记录！');
						}
					}

				}],

		bbar : new Ext.PagingToolbar({
					pageSize : 10,
					store : ds,
					displayInfo : true,
					displayMsg : '显示第 {0} 条到 {1} 条记录，一共 {2} 条',
					emptyMsg : "没有记录"
				}),
		width : 700,
		autoHeight : true,
		// frame:true,
		title : '发货信息列表',
		iconCls : 'icon-grid',
		renderTo : 'main'
	});
};
function createDefaultOSM() {

	var ret = {
		"id" : 0,
		"spec" : "",
		"factory" : 0,
		"transnum" : "",
		"ordernum" : 0,
		"ssign" : "",
		"ssign_yz" : "",
		"grossweight" : 0,
		"qiandao_yield" : 1,
		"yimo" : 1,
		"weimo" : 1,
		"feipin" : 1,
		"qiandao_cost" : 0,
		"product_cost_before" : 0,
		"specType" : "",
		"processScheme" : 0,
		"plate" : "",
		"baozhuangfei" : 0,
		"houdao_yield" : 0,
		"product_cost_last" : 0,
		"date1" : today,
		"ordercost" : 0,
		"lirun" : 0,
		"bz" : "",
		"maker" : "",
		"makeDate" : today,
		"peifang" : 0,
		"spec_yz" : "",
		"month1" : 0,
		"year1" : 0
	};
	return ret;
}

function createDefaultOSS() {
	var ret = {
		"afterSpec" : "",
		"beforeSpec" : "",
		"id" : 0,
		"orderSumId" : 0,
		"processArea" : 0,
		"processName" : "",
		"processNum" : 0,
		"processPos" : 0,
		"processPrice" : 0,
		"processUpdate" : 0,
		"processYield" : 0,
		"type" : 0,
		"unitPrice" : 0,
		"untilPrice" : 0
	};
}
